package com.yunxi.dao.sys;

import com.yunxi.core.dao.BaseMapperPlus;
import com.yunxi.model.sys.Staff;
import com.yunxi.sys.pojo.RoleVO;
import com.yunxi.sys.pojo.StaffListVO;
import com.yunxi.sys.pojo.StaffVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 员工信息 Mapper 接口
 * </p>
 *
 * @author 
 * @since 2019-05-20
 */
public interface StaffMapper extends BaseMapperPlus<Staff> {

    List<StaffListVO> getStaffListById(String orgId);

    StaffVO getByUserCode(Map map);

    StaffVO getCasById(@Param("userCode") String userCode);

    List<RoleVO> listRole(@Param("tenantId")String tenantId);

    List<StaffVO> listByPartnerCode(@Param("partnerCode") String partnerCode);

   List<StaffVO> listManagerByPartnerCode(String partnerCode);

    List<StaffVO> listRegionManager(@Param("areaCode") String areaCode);

   List<StaffVO> getRegionManagerByUserCode(@Param("accountNo") String accountNo);

   List<StaffVO> listAllRegionManager();

   List<StaffVO> listRegionManagerNotExits(@Param("areaCode") String areaCode);

   List<StaffVO> listStaffByRoleCode(@Param("partnerCode")String partnerCode, @Param("roleCode") String roleCode);

   List<StaffVO> listAllCityManager();

   List<StaffVO> listCityManagerNotExits();

   List<StaffVO> listCityManagerByAccountNo(@Param("accountNo")String accountNo);

   List<StaffVO> listCityManagerByCityCode(@Param("cityCode")String cityCode);

    void removeTargetByAccountNo(String accountNo);
}
